1. Field of the Invention
The present invention relates to image processing apparatus and method, and more particularly relates to image processing method and apparatus which perform correction according to an observation condition, and a recording medium.
2. Related Background Art
FIG. 1 is a conceptual diagram showing general color matching.
Input data (R, G and B data) is converted into X, Y and Z data in a color space independent of a device by an input profile. Since color outside a color reproduction range of an output device can not be represented by this output device, color gamut mapping is performed to the input data converted into the device-independent color space data such that all colors can be held within the color reproduction range of this output device. After the color gamut mapping is performed, the input data in the device-independent color space is converted into C, M, Y and K data in a color space dependent on the output device.
In the color matching, a standard white point and environment light are fixed. For example, in a profile defined by ICC (International Color Consortium), a PCS (profile connection space) for connecting profiles is represented by XYZ values and Lab values based on reference light D50. For this reason, when an input original and a printed output are observed under a light source of D50 characteristic, correct color reproduction is guaranteed. However, the correct color reproduction is not guaranteed under light sources of other characteristics.
In a case where an identical sample (e.g., an image) is observed under the different light sources, the XYZ values for the observed sample are naturally different from others. Thus, in order to predict the XYZ values under the different light sources, there are various conversion methods such as (1) a ratio conversion method, (2) a Von Kries conversion method, (3) a prediction expression method based on a color perception model, and the like.
In the ratio conversion method, in order to convert the XYZ values under a standard white point W1 into the XYZ values under a standard white point W2, ratio conversion of W2/W1 is performed. If this method is applied to an Lab uniform color space, an Lab value under the standard white point W1 coincides with an Lab value under the standard white point W2. For example, if the XYZ values of a sample under the standard white point W1(XW1, YW1, ZW1) are assumed to (X1, Y1, Z1) and the XYZ values of a sample under the standard white point W2(XW2, YW2, ZW2) are assumed to (X2, Y2, Z2), the following relation can be obtained by the ratio conversion method.X2=(XW2/XW1)·X1Y2=(YW2/YW1)·Y1Z2=(ZW2/ZW1)·Z1  (1)In the Von Kries conversion method, in order to convert the XYZ values under the standard white point W1 into the XYZ values under the standard white point W2, ratio conversion of W2′/W1′ is performed in a human's color perception space PQR. If this method is applied to the Lab uniform color space, the Lab value under the standard white point W1 does not coincide with the Lab value under the standard white point W2. For example, if the XYZ values of a sample under the standard white point W1(XW1, YW1, ZW1) are assumed to (X1, Y1, Z1) and the XYZ values of a sample under the standard white point W2(XW2, YW2, ZW2) are assumed to (X2, Y2, Z2), the following relation can be obtained by the Von Kries conversion method.
                              [                                                    X2                                                                    Y2                                                                    Z2                                              ]                =                                                            [                inv_Mat                ]                            ⁢                                                          [                                                                                                                  P                        W                                            ⁢                                              2                        /                                                  P                          W                                                                    ⁢                      100                                                                                                                                                          OQ                        W                                            ⁢                                              2                        /                                                  Q                          W                                                                    ⁢                      10                                                                                                                                                          OOR                        W                                            ⁢                                              2                        /                                                  R                          W                                                                    ⁢                      1                                                                                  ]                        ⁢                                                  [            Mat            ]                    ⁢                                          [                                                    X1                                                                    Y1                                                                    Z1                                              ]                                    (        2        )            however,
                              [                                                                                          P                    W                                    ⁢                  2                                                                                                                          Q                    W                                    ⁢                  2                                                                                                                          R                    W                                    ⁢                  2                                                              ]                =                              [            Mat            ]                    ⁢                                          [                                                                                          X                    W                                    ⁢                  2                                                                                                                          Y                    W                                    ⁢                  2                                                                                                                          Z                    W                                    ⁢                  2                                                              ]                                    (        3        )            
                              [                                                                                          P                    W                                    ⁢                  1                                                                                                                          Q                    W                                    ⁢                  1                                                                                                                          R                    W                                    ⁢                  1                                                              ]                =                              [            Mat            ]                    ⁢                                          [                                                                                          X                    W                                    ⁢                  1                                                                                                                          Y                    W                                    ⁢                  1                                                                                                                          Z                    W                                    ⁢                  1                                                              ]                                    (        4        )            
                              [          inv_Mat          ]                =                  [                                                    1.85995                                                              -                  1.12939                                                            0.21990                                                                    0.36119                                            0.63881                                            0                                                                    0                                            0                                            1.08906                                              ]                                    (        5        )            
                              [          Mat          ]                =                  [                                                    0.44024                                            0.70760                                                              -                  0.08081                                                                                                      -                  0.22630                                                            1.16532                                            0.04570                                                                    0                                            0                                            0.91822                                              ]                                    (        6        )            
In the prediction expression method based on the color perception model, in order to convert the XYZ values in an observation condition VC1 (including the standard white point W1) into the XYZ values in an observation condition VC2 (including the standard white point W2), for example, such the conversion is performed in a human's color perception space QMH (or JCH) such as CIE CAM97s. Here, in the human's color perception space QMH, symbol “Q” represents brightness, symbol “M” represents colorfulness, and symbol “H” represents a hue quadrature or a hue angle. In the human's color perception space JCH, symbol “J” represents lightness, symbol “C” represents chroma, and symbol “1” represents a hue quadrature or a hue angle. If this method is applied to the Lab uniform color space, as well as the Von Kries conversion method, the Lab value under the standard white point W1 does not coincide with the Lab value under the standard white point W2. For example, if the XYZ values of a sample under the standard white point W1(XW1, YW1, ZW1) are assumed to (X1, Y1, Z1) and the XYZ values of a sample under the standard white point W2(XW2, YW2, ZW2) are assumed to (X2, Y2, Z2), the following conversion is performed by the prediction expression method based on the color perception model.(X1, Y1, Z1)→[CIE CAM97s forward conversion]→(Q,M,H) or (J,C,H)→[CIE CAM97s inverse conversion]→(X2, Y2, Z2)
Namely, if it is assumed that the XYZ values under the different reference standard white points can be converted by the ratio conversion method, an equal-interval hue line of the Lab color space under the different standard white point is always constant. However, when human's color perception is considered as in the Von Kries conversion method and the prediction expression method based on the color perception model, the equal-interval hue line of the Lab color space under the different standard white point is different according to the standard white point.
Because of the above reason, in the color matching between the different standard white points, when color gamut mapping (hue conservation) defined in the identical Lab color space is applied, it might be felt by human's sight that hue is not constant.
Further, in the current ICC profile, since the PCS is limited to the XYZ values and the Lab values based on the reference light D50, it is impossible to perform the color matching corresponding to the environment light.
Further, there is a method that color not depending on the PCS and the device is represented by an RGB space which can be linearly converted from the XYZ space by a 3×3 matrix. However, when such the conversion matrix is fixed by the standard white point, there is following problems.
Namely, when the colors under the different standard white points are converted by the conversion matrix under which the standard white point is fixed, overflow and underflow occur in the device-independent RGB space, whereby there is some fear that some colors (especially, colors in the vicinity of a white point) can not be represented. In a three-dimensional LUT (look-up table) for which the device-independent RGB space is used as an input color space, when grays under the different standard white points are input, since these grays are not on a diagonal axis of the three-dimensional LUT, linear interpolation using three or more lattice points is performed in tetrahedron interpolation, whereby there is some fear that color misregistration occurs.
Further, when a linear model such as the Von Kries conversion method or the like is used to predict the XYZ values under the different light sources, gray (achromatic color) under an input-side standard white point is converted into gray under an output-side standard white point. However, when a nonlinear model such as a color adaptation equation (CIE CAT94), a color perception model (CIE CAM97s) or the like is used, there is a case where the gray converted in the color matching does not represent the gray under the output-side standard white point. Here, the gray under the standard color point represents a set of colors having the same chromaticity as that of the standard white point.
Generally, a generation probability of the gray under the standard white point is extremely low in a natural image but very high in a graphics image. For this reason, since reproducibility of the gray becomes especially important when the graphics image on a monitor is printed, a specific process is frequently performed to the gray so as to improve the reproducibility. When the gray converted by using the nonlinear model such as the color perception model or the like does not represent the gray under the output-side standard white point, it is difficult to detect the gray by the output-side profile, whereby it is impossible to perform the specific process of, e.g., allocating gray of a printer device to the gray under the output-side standard white point.